/*******************************************************************************
 * Copyright (c) 2012, G. Weirich and Elexis
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    G. Weirich - initial implementation
 *******************************************************************************/

package ch.elexis.easy.ui.elements;

import java.util.List;

import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;

import ch.elexis.core.data.IActionDefinition;

/**
 * A visual component for Elexis easy
 * 
 * @author gerry
 * 
 */
public interface IElexisEasyComponent {
	
	/**
	 * Retrieve an Image to display on the Button
	 * 
	 * @param size
	 *            Size of the Image. One of 16,32,48, 64, 128
	 * */
	public Image getImage(int size);
	
	/** The label to describe the component */
	public String getLabel();
	
	/** The Component itself */
	public Composite createComponent(Composite parent, String subcomponent);
	
	/** All Action definitions attributable to this component */
	public IActionDefinition[] getActions(String subcomponent);
}
